1. Field of the Invention
The present invention relates to digital color printing devices, and in particular, to a technique for minimizing artifacts ("erroneous colored dots") in printed output of such devices, which artifacts are caused by error diffusion halftoning.
2. Description of the Related Art
Most computer-driven printing devices which generate hard copy, such as laser, dot-matrix and ink-jet printers, print in a binary fashion--the output medium is divided into an array of picture elements or "pixels" and the devices can either print a small colored dot at each pixel location or leave the pixel location blank. In the case of color printers, a dot color is chosen from a small set of colors. For example, a typical color printer may be configured to print three colors: cyan (C), magenta (M) and yellow (Y). By manipulating various combinations of CMY, additional colors such as blue (B), green (G), red (R) and black (K) may be generated. Each of these dots has a generally uniform color so that the resulting output consists of a total of eight arrayed colored and blank pixels, the latter pixel representing the color white (W).
Pictorial images such as those produced by photographic techniques or by computerized imaging systems, by contrast, are continuous in tonality. If such an image is divided into pixels, each pixel exhibits a "grayscale" color whose tonal value falls within a range of tonal values. In order to reproduce such "continuous-tone" images by means of electronic printing, the images must therefore be converted into a form which is suited to the characteristics of the printing device, generally a binary format. This conversion process, which may take many forms, is generically referred to as "halftoning." Although a halftone image actually consists solely of a spatial pattern of binary pixels (colored or blank dots), the human visual system integrates this pattern to create an illusion of a continuous-tone image.
During the printing process, the image to be printed is divided into a series of pixels and the value of the image in each pixel is quantized to produce a multi-bit digital word which represents the tonal value of the pixel. The image is thus converted to a stream of digital words which is provided to the printing device. In order to convert the format of each word into a format suitable for reproduction on the digital device, halftoning is performed on the digital word stream during a process called "preprocessing". Numerous halftoning techniques have been developed and refined over the years. In their simplest form, such techniques compare the value of each digital word with a threshold level, and generate a binary output pixel value depending on the relative values.
For example, a digital scanner processing a continuous-tone image generates a stream of multi-bit words representing the detected light intensities, i.e., pixel tonal values, typically for the colors RGB. The numerical value of these words generally ranges from 0 to 255 corresponding to a 256-level gray scale or an 8-bit word. If such a digital word stream is to be reproduced on a binary printing device, the halftoning process typically compares the scanner output words with a single threshold value to produce the required binary output pixel stream. (Illustratively, the fixed threshold value may be 128 for a grayscale value range between 0 and 255). In such a system, each 8-bit scanner word has effectively been compressed into a single-bit output word.
Naturally, such compression produces a significant loss of visual information and, in turn, creates visual distortions in the reproduced image that are not present in the original image. For example, overlaying the colors R=G=B as a single printed dot typically generates a "muddied" shade of gray that saturates the print medium (due of excessive ink buildup). To improve the production of gray, a technique known as "undercolor removal" has been developed that utilizes a separate black ink to create a gray halftone image preferably consisting of a spatial pattern of K and W dots.
According to this conventional technique, the lowest of the three RGB input color values is selected and replaced with K; thereafter, that lowest selected value is subtracted from the remaining two input color values. However, in the case where R=G=B, this combination is substituted for the color K. For example, if the values of the RGB output words from the digital scanner are:
______________________________________ R G B ______________________________________ 100 100 100 ______________________________________
application of the undercolor removal technique produces the following sequence:
______________________________________ R G B K ______________________________________ 0 0 0 100 ______________________________________
Halftoning is then performed on the resulting K color value. In order to reduce visual distortions created by the halftoning process, a technique known as "error diffusion" is employed to "diffuse" the "quantization error" (i.e., the difference between the input value represented by a multi-bit word and the output value represented by a single bit or two multi-bit words) proportionally among neighboring pixels.
This diffusion is performed on the resulting K color by adding a portion of the quantization error to the input values of the next pixel in the processing line and to neighboring pixels in the following line. The quantization error is added to the pixel values before processing so that the quantization error is "spread" over several pixels.
However, when employing undercolor removal before such processing, "diffused" errors that accumulate from previous pixels may revive the negated RGB colors and generate a "renewed" combination of RGB. When printed on the output medium, the resulting halftone image may once again be muddied (and the medium may be saturated) since black ink is now overlayed on the RGB colored dot.
In addition, the accumulation of previous diffusion errors may generate unwanted colors among pixels of the desired gray-tonal area. For example, although the three input color values of RGB are initially equal, after aggregating diffused errors from previously processed pixels, the values of the RGB color pixels may be altered to:
______________________________________ R G B ______________________________________ 140 240 100 ______________________________________
Comparing each of these words with the fixed threshold value of 128 results in the following halftone pattern:
______________________________________ R G B ______________________________________ 1 1 0 ______________________________________
Thus, a yellow dot is produced in what should be a predominantly gray area. This yellow dot, or "artifact", reduces the quality of the gray color in the resulting image.
Therefore, it is among the objects of the present invention to provide a method and apparatus for eliminating such artifacts from an image.
Another object of the present invention is to provide apparatus and a method of improving the quality of the halftone images produced by a binary printing device.
Still another object of the invention is to provide a method and apparatus which minimizes image artifacts due to error diffusion halftoning in the output images produced by a binary printing device, such as a color ink jet printer or laser printer.
Still yet another object of the invention is to provide such a method which can be implemented relatively easily either in specialized hardware or in existing printer drivers. Other objects will, in part, be obvious and will, in part, appear hereinafter.